
#此变量定义脚本请每一条 修改成你实际的主机名和IP地址，批量部署是基于此处变量定义，务必细心修改此处，
#另也只需修改此处变量即可完成整个kubernetes的Master和worknode部署
mkdir -p /opt/k8s/{bin,ssl,cfg,work}
cat > /opt/k8s/work/environment.sh << "EOF"
#!/usr/bin/bash

#集群各个node的IP地址定义--改成你实际主机的主机名和IP地址
#这里是规划3台Master主机做高可用---改成你实际主机的IP地址
#这里是规划3台主机做 Worknode节点---改成你实际主机的IP地址
export MASTER1_IP="192.168.147.135"
export MASTER2_IP="192.168.147.134"
export MASTER3_IP="192.168.147.133"
export NODE1_IP="192.168.147.125"
export NODE2_IP="192.168.147.124"
export NODE3_IP="192.168.147.123"
export NGINX1_IP="192.168.147.146"
export NGINX2_IP="192.168.147.148"
export NGINX_VIP="192.168.147.147"
export NODE_NAMES=(master1 master2 master3 node1 node2 node3)
export NODE_IPS=(192.168.147.135 192.168.147.134 192.168.147.133 192.168.147.125 192.168.147.124 192.168.147.123)
export MASTER_IPS=(192.168.147.135 192.168.147.134 192.168.147.133)
export WORK_IPS=(192.168.147.125 192.168.147.124 192.168.147.123)

# ETCD集群各变量定义
#注意：etcd使用发现时，每个成员必须具有唯一的名称。
# etcd 3台集群节点--改成你实际的主机名和IP
# etcd 3台集群服务2380端口地址列表--改成你实际选的3台主机的IP地址
# etcd 3台集群服务2379端口地址列表--改成你实际选的3台主机的IP地址
export ETCD_NAMES=(etcd1 etcd2 etcd3)
export ETCD1_IP="192.168.147.135"
export ETCD2_IP="192.168.147.134"
export ETCD3_IP="192.168.147.133"
export ETCD_IPS=(192.168.147.135 192.168.147.134 192.168.147.133)
export ETCD_CLUSTER="etcd1=https://192.168.147.135:2380,etcd2=https://192.168.147.134:2380,etcd3=https://192.168.147.133:2380"
ETCD_ENDPOINTS="https://192.168.147.135:2379,https://192.168.147.134:2379,https://192.168.147.133:2379"

# kube-apiserver 的LB反向代理(nginx)的VIP地址和端口
export KUBE_APISERVER="https://192.168.147.147:6443"

### 以下参数一般不需要修改
#集群组件WorkingDirectory
export K8S_DIR="/k8sdata/"
# 服务网段，部署前路由不可达，部署后集群内路由可达(kube-proxy 保证)
SERVICE_CIDR="10.254.0.0/16"
#api cluster-ip-range
export CLUSTER_RANG="10.254.0.0/24"
# kubernetes 服务 IP (一般是 SERVICE_CIDR 中第一个IP)
export CLUSTER_KUBERNETES_SVC_IP="10.254.0.1"
# 集群 DNS 服务 IP (从 SERVICE_CIDR 中预分配)
export CLUSTER_DNS_SVC_IP="10.254.0.2"
#Pod 网段，建议 /16 段地址，部署前路由不可达，部署后集群内路由可达(flanneld 保证)
CLUSTER_CIDR="172.30.0.0/16"
# 生成 EncryptionConfig 所需的加密 key
export ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)
# TLS Bootstrapping 使用的 Token生成
export BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')
# 集群 DNS 域名（末尾不带点号）
export CLUSTER_DNS_DOMAIN="cluster.local"

EOF